﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using StyleMVVM.DependencyInjection;
using StyleMVVM.DependencyInjection.Impl;

namespace StyleMVVM.Data.Activation
{
	public interface IActivationTypeInfo
	{
		ExportFunction ExportFunction { get; set; }

		Type ActivationType { get; set; }

		bool DiscoverAttributes { get; set; }

		bool Suspendable { get; set; }

		string ActivationMethod { get; set; }

		object ImportConstructorInfo { get; set; }

		IEnumerable<InitializePropertyInfo> InitializeProperties { get; set; }

		IEnumerable<ImportPropertyInfo> ImportProperties { get; set; }

		IEnumerable<ImportMethodInfo> ImportMethods { get; set; }

		IEnumerable<EnrichWithDelegate> EnrichWithDelegates { get; set; }
	}
}